1 REM [DR. SHILLING 4/10/84] 2 REM: BASIC QUIZZ FOR WOULD-BE HACKERS 3 C$=CHR$(34) 4 TI$ = "000000" 5 Y$ = "" 6 REM [TO RUN THE QUIZZ, JUST 'RUN'] 7 REM [TO EXAMINE PROBLEMS, 'RUN 1300'] 8 GOTO 50 9 REM (LINES 10-30 ARE RESERVED) 49 STOP 50 PRINT"[147]" 52 PRINT"I AM YOUR USER-FRIENDLY COMMODORE-64" 54 PRINT 56 PRINT" BASIC QUIZZ NO. 1" 58 PRINT 60 PRINT"MY FIRST PROGRAM IS:":PRINT 62 PRINT" 10 A% = 33000 " 64 PRINT" 11 ? A% " 66 PRINT:PRINT"BUT WHEN YOU RUN IT, I WILL TELL YOU:" 68 PRINT 70 PRINT "? ILLEGAL QUANTITY ERROR IN 10" 71 IF Y$ <> "YES" THEN 74 72 PRINT" (ENTER PROGRAM LINES WITH CURSOR, THEN RUN '10' TO VERIFY)":STOP 74 PRINT:PRINT"DO YOU WANT TO KNOW WHY?" 76 INPUT" (PRESS RETURN KEY)";K$ 78 PRINT"[145][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]" 80 PRINT:PRINT"I CAN'T HANDLE INTEGERS LARGER" 82 PRINT" THAN 32767 - THAT'S WHY." 84 PRINT 86 INPUT" (PRESS RETURN KEY TO CONTINUE)";K$ 100 PRINT"[147]" 102 PRINT" BASIC QUIZZ NO. 2" 104 PRINT 110 PRINT"MY NEXT PROGRAM IS:":PRINT 120 PRINT" 12 DIM F (10), G (20)" 130 PRINT" 13 DIM F1 % (11)" 140 PRINT" 14 DIM F3 (1,2,3,4,5,6)" 150 PRINT" 15 DIM FF1 (5)" 160 PRINT" 16 DIM FF2 (55)" 170 PRINT 180 PRINT"HERE IS THE PROBLEM:" 190 PRINT" IF YOU TYPE 'RUN 12' I WILL GIVE YOU THE MESSAGE:" 200 PRINT" ? REDIM'D ARRAY ERROR IN 16" 202 IF Y$ <> "YES" THEN 210 205 PRINT# (ENTER PROGRAM LINES WITH CURSOR, THEN RUN '12' TO VERIFY):STOP 210 PRINT:PRINT"WHY? WHAT'S WRONG?" 220 INPUT"(PRESS RETURN KEY FOR ANSWER";K$ 230 PRINT"[145][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]" 234 PRINT 240 PRINT"SORRY, BUT I CAN READ ONLY THE FIRST TWO CHARACTERS OF ANY VARIABLE." 250 PRINT" FF1 AND FF2 ARE THE SAME TO ME!" 260 PRINT"(AND YOU MUST NOT DIMENSION A VARIABLE MORE THAN ONCE)." 280 PRINT 290 INPUT" (PRESS RETURN KEY TO GO ON)";K$ 300 PRINT"[147]" 302 PRINT" BASIC QUIZZ NO. 3" 304 PRINT 310 PRINT"MY NEXT PROGRAM IS:":PRINT 320 PRINT 17"CLYDE = 999:? CLYDE" 330 PRINT 18"GER $ = "C$ "GERRY" C$ ":? GER $" 340 PRINT 19"LOR $ = "C$ "LORNA" C$ ":? LOR $" 350 PRINT 360 PRINT "HERE IS THE PROBLEM:" 370 PRINT " IF YOU TYPE 'RUN 17' I WILL PRINT:" 380 PRINT 400 CLYDE = 999 : PRINT CLYDE 410 GER$ = "GERRY" : PRINT GER$ 430 PRINT"?SYNTAX ERROR IN 19" 440 PRINT 450 PRINT " W H Y ?? WHAT'S WRONG?" 460 PRINT 462 IF Y$ <> "YES" THEN 470 465 PRINT" (ENTER PROGRAM LINES WITH CURSOR, THEN RUN '17' TO VERIFY":STOP 470 INPUT" (PRESS RETURN KEY TO GO ON)";K$ 482 PRINT"[145][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]" 490 PRINT 500 PRINT "LOR $ CONTAINS THE BASIC KEYWORD 'OR'!" 510 PRINT " THE SAME THING WOULD HAPPEN, IF YOU USED, FOR EXAMPLE," 520 PRINT " 'LAND' INSTEAD OF 'CLYDE' IN LINE 17." 530 INPUT " (PRESS RETURN TO GO ON)";K$ 600 PRINT "[147]" 602 PRINT " BASIC QUIZZ NO.4" 610 PRINT "MY NEXT PROGRAM IS:" 612 PRINT 630 PRINT"20 INPUT" C$ "YES OR NO" C$"; Y$ 640 [153]"21 IF Y$ <> " C$ "YES" C$ " OR Y$ <> " C$ "NO" C$ " THEN 20" 650 [153]"22 IF Y$ <> " C$ "YES" C$ "AND Y$ <> " C$ "NO" C$ "THEN 20" 660 [153]"23 IF Y$ = " C$ "YES" C$ " OR Y$ = " C$ "NO" C$ " THEN 20" 670 [153]"24 IF Y$ = "C$ "YES" C$ "AND Y$ = " C$ "NO" C$ "THEN 20" 680 [153] 700 [153] "HERE IS THE PROBLEM:" 710 [153]:[153] "YOU WANT TO MAKE SURE THAT NOTHING BUT" 712 [153]" EITHER 'YES' OR 'NO' IS ENTERED" 714 [153]" AS 'Y$' IN LINE 20." 716 [153]"IF NOT, ASK FOR INPUT AGAIN." 718 [153] 720 [153]" WHICH IS CORRECT, LINE 21, OR LINE 22, OR LINE 23, OR LINE 24?" 740 [153] 742 [139] Y$ [179][177] "YES" [167] 750 745 [153]" (ENTER WITH CURSOR, BUT DO NOT RUN '20'. IT WILL HANG-UP !)" 750 [133] "READY FOR THR ANSWER? (PRESS RETURN KEY)";K$ 762 [153]"ONTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTAN" 770 [153]" O N L Y LINE 22 IS CORRECT!:" 772 [153] 780 [153]"WARNING: IF YOU TRY OTHERS, WATCH OUT;" 790 [153]" I MAY HANG UP YOUR PROGRAM WITH SOME" 792 [153]" OR THE OTHER LINES..." 796 [133]" (PRESS RETURN KEY TO GO ON)"; K$ 800 [153]"LOAD" 810 [153]" BASIC QUIZZ NO. 5" 820 [153]"MY NEXT PROGRAM IS:" 822 [153] 824 [153]" 25 X = SQR(100) : Y = 10" 826 [153]" 26 PRINT " C$ "X=" C$ "X " C$ " Y=" C$ "Y " C$ " X-Y=" C$ " X - Y" 828 [153]" 27 IF X <. Y THEN PRINT " ; : [153] C$ "WRONG !" 830 [153] 832 [153]"IF I 'RUN' I PRINT AS FOLLOWS:" 842 X [178] [186](100): Y [178] 10 844 [153]" X=" X" Y=" Y" X-Y="X[171]Y 846 [139] X [179][177] Y [167] [153] " WRONG !" 848 [153] 850 [153]"I FIND INDEED THAT THE SQUARE-ROOT OF 100 IS NOTWAIT EQUAL TO 10 !" 860 [153] 862 [139] Y$ [179][177] "YES" [167] 870 865 [153] "(ENTER PROGRAMS LINES WITH CURSOR, THEN RUN '25' TO VERIFY)":[144] 870 [153]"DO YOU WANT TO KNOW WHY NOT?" 880 [133]"(PRESS RETURN KEY)";K$ 892 [153]"ONTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTAN" 900 [153]"BECAUSE WHILE I PRINT :X=" X 910 [153]" AND: Y=" Y 920 [153]:[153]"I CALCULATED THAT THERE IS A DIFFERENCE BETWEEN X AND Y OF"X[171]Y 940 [153] 950 [153]" IT IS ONLY .0000000037252903 BUT....." 960 [153]" I HAVE TROUBLE WITH CERTAIN DECIMAL FRACTIONS (SUCH AS .33333)" 970 [153] 980 [133] "(PRESS RETURN KEY TO GO ON)";K$ 1000 [153]"LOAD" 1002 [153]" BASIC QUIZZ NO. 6" 1004 [153] 1005 C$[178][199](34) 1010 [153]"MY NEXT NEXT PROGRAM IS:":[153] 1020 [153] 29 "PRINT CHR$ (14)" 1030 [153]" 30 PRINT";:[153] C$"(null)LEFT$VAL (null)(null)RIGHT$LEN(null) PEEK(null)(null)(null)(null) ASC(null)(null) MID$(null)(null)(null)VALSTR$ (null)(null)VAL(null) (null)LEFT$VAL (null)ATN(null)(null) STR$(null)CHR$." 1040 [153] 1050 [153] "HERE IS THE PROBLEM:" 1052 [153] " WHAT DOES IT MEAN," 1054 [153] " AND HOW DID I DO THAT?" 1056 [139] Y$ [179][177] "YES" [167] 1058 1057 [153] "(ENTER PROGRAM LINES WITH CURSOR, THEN RUN '29' TO VERIFY)":[144] 1058 [153] 1060 [153]" (PRESS ANY KEY TO GO ON)" 1062 [161] K$: [139] K$[178]"" [167] 1062 1070 [153]"ON " 1080 [153]"ON " 1082 [153]"ON " 1084 [153]"ON " 1086 [153]"ON " 1090 [153]"ONONONONONON" 1100 [153] [199](14) 1110 [153] 1120 [153]" (null)(null)(null) LENATN(null) (null)(null)(null) (null)VALATNSTR$ (null)RIGHT$(null)VAL 30 ?" 1130 [153] 1140 [153]"CLOSE((null)(null)VAL(null)(null) ATN(null)(null)CLOSE(null)VAL(null)CLOSE(null)(null)CLOSECHR$(null)CLOSE(null)(null))" 1142 [161] K$:[139]K$[178]"" [167] 1142 1144 [153]"ONTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTAN" 1146 [153] [199](142) 1150 [153]" WELL, IT'S REALLY SIMPLE:" 1160 [153]"I JUST TYPED SHIFTED LETTERS;" 1162 [153]"AND THEY CAME OUT AS SYMBOLS." 1164 [153]" IF YOU REALLY WANT TO CONFUSE YOURSELF" 1166 [153]" STUDY PAGE 74 OF THE C-64 PROGRAMMER'S REFERENCE GUIDE. HAVE FUN!" 1170 [153] 1172 [129] T[178]1 [164] 2000:[130] T 1173 [153] [199](14) 1174 [129] T[178]1 [164] 1000:[130] T 1175 [153] [199](142) 1177 [153]"ONONON" 1180 [133]" (PRESS RETURN KEY TO CONTINUE)"; K$ 1200 [153] "LOAD" 1220 [153]" I AM GETTING TO FANCY;" 1222 [153]" ENOUGH OF THIS STUFF." 1226 [153]"TANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTAN" 1240 [156] 1250 [153]"THE PROGRAM LENGTH WAS:" ; 38909 [171] ( [184](1) [171] ([184](1) [179]0 ) [172] 65536 ) 1252 [153]" FREE BYTES REMAINING."; [184](1) [171] ( [184](1)[179]0)[172] 65536 1255 [153] 1260 J1 [178] TI[173]216000:J2[178](J1[171][181](J1) ) [172] 60:J3 [178] ( J2[171][181](J2) ) [172] 60 1262 JX[178]J3:J3 [178] [181](JX[170].5) 1264 [153]" SINCE YOU STARTED THIS QUIZZ," 1266 [153]"THE FOLLOWING TIMES HAS ELAPSED:" 1270 [153] 1272 [153] [181](J1) "HOURS"[181](J2)"MINUTES"(J3)"SECONDS" 1274 [153]"TANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTAN" 1280 [153]"PS.: DO YOU WANT TO EXAMINE WHETHER I HAVE SPOKEN TRUE ?" 1282 [133]"YES OR NO";Y$ 1284 [139] Y$ [179][177] "YES" [175] Y$ [179][177] "NO" [167] [153] "TRY AGAIN":[137] 1282 1290 [153]" (null) (null) END (null) (null)" 1292 [153]" (null) 73 (null)" 1294 [153] 1296 [153]" AU REVOIR FROM YOUR FRIENDLY C-64." 1299 [128] 1300 [153]"LOAD" 1310 [153]"INSTRUCTIONS FOR TRUE HACKERS:" 1320 [153] 1330 [153]"WHENEVER A 'BREAK' OCCURES," 1340 [153] 1350 [153]"1. GO UP WITH CURSOR TO THE TOPMOST" 1352 [153]"NUMBERED PROGRAM LINE" 1354 [153]"2. HIT THE RETURN KEY FOR EACH NUMBERED" 1356 [153]"PROGRAM LINE" 1358 [153]"3. INPORTANT: DO NOT HIT THE RETURN KEY ANY FURTHER !" 1360 [153]"4. MOVE CURSOR DOWN BELOW 'READY.'" 1362 [153] 1364 [153]"THE NUMBERED QUIZ LINES ARE NOW" 1366 [153]"ENTERED BETWEEN LINES 10 AND 30 AS PART" 1368 [153]"OF THE MAIN PROGRAM." 1372 [153]"(LATER, 'LIST-30' AND SEE.)" 1374 [153]"NOW: 'RUN 10' OR 12 OR 17 OR 25 OR 29 AS INDICATED ON THE SCREEN." 1380 [153]"['RUN 20' WILL HANG-UP OF COURSE ![]]" 1382 [153] 1384 [153]"REMEMBER, TO ENTER THE PROBLEMS THIS WAY JUST 'RUN 1300'." 1386 [153] 1400 C$ [178] [199](34) : T$ [178] "YES" 1410 [153]"O.K. WHICH QUIZZ DO YOU WANT TO CHECK:" 1420 [133]"QUIZZ NUMBER (BETWEEN 1 AND 6)";N% 1440 [145] N% [137] 54,100,300,600,800,1000,1450 1450 [137] 1290